//
// Created by zhouwd on 2019/7/15.
//

#ifndef IPTVSETTING_MEDIA_PLAYER_H
#define IPTVSETTING_MEDIA_PLAYER_H

#include "media_extractor.h"
#include "media_render.h"
#include "media_video_frame_notify.h"
#include "media_init_notify.h"
#include "media_audio_frame_notify.h"
typedef class _MEDIA_PLAYER {
private:
    MediaExtractor *mediaExtractor;
    MediaRender *mediaRender;
    MediaInitNotify *mediaInitNotify;
public:
    int init(const char *path, const char *mPreviewVertexShaderBuffer, const char *mPreviewFragmentShaderBuffer);
    int setMediaVideoFrameNotify(MediaVideoFrameNotify *mediaVideoFrameNotify);
    int setMediaInitNotify(MediaInitNotify *mediaInitNotify);
    int setMediaAudioFrameNotify(MediaAudioFrameNotify *mediaAudioFrameNotify);
    int start();
    int pause();
    int stop();
    int release();
    int step();
    int resize();
} MediaPlayer;


#endif //IPTVSETTING_MEDIA_PLAYER_H
